#ifndef _REPORT__H
#define _REPORT__H

#include "structs.h"

class HistoryList
{
    public:
        void init();
        void deinit();
        void pushBack(const historyData &data);
        int popBack(historyData *data);
        void print();//Вывод полной истории списаний
        void printOther();//Прибыль, остаток на складе, общая сумма затрат на покупку этих товаров.
        bool save();
        bool load();

    private:
        int countEntriesFile();//колличество записей в файле
        void saveOfOne(historyData *data,int key);//сохранение одной записи в файл
        //десериализация данных из массива char в структуру historyData
        bool deserialization(char *line, historyData &data);

        ListNode *head;//голова односвязного списка
        ListNode *tail;//конец односвязного списка
        HistoryList *list;//односвязный список для хранения истории продаж
        int count;//колличество записей
};

void testList();//функция для тестирования функционала

#endif // _REPORT__H
